Program Logics - for Certified Compilers
نویسنده
چکیده
Separation logic is the twenty-first-century variant of Hoare logic that permits verification of pointer-manipulating programs. This book covers practical and theoretical aspects of separation logic at a level accessible to beginning graduate students interested in software verification. On the practical side it offers an introduction to verification in Hoare and separation logics, simple case studies for toy languages, and the Verifiable C program logic for the C programming language. On the theoretical side it presents separation algebras as models of separation logics; stepindexed models of higher-order logical features for higher-order programs; indirection theory for constructing step-indexed separation algebras; treeshares as models for shared ownership; and the semantic construction (and soundness proof) of Verifiable C. In addition, the book covers several aspects of the CompCert verified C compiler, and its connection to foundationally verified software analysis tools. All constructions and proofs are made rigorous and accessible in the Coq developments of the open-source Verified Software Toolchain.
منابع مشابه
Programming logics - an introduction to verification and semantics
The best ebooks about Programming Logics An Introduction To Verification And Semantics that you can get for free here by download this Programming Logics An Introduction To Verification And Semantics and save to your desktop. This ebooks is under topic such as programs: semantics and verification springer p-logic: property verià ̄¥cation for haskell programs logic, semantics and verification ...
متن کاملDeveloping Certified Program Verifiers with a Proof Assistant
I describe ongoing work on a new approach to foundational proof-carrying code. The key new idea is to use certified program verifiers to embody customized program verification strategies, specialized to particular safety policies, enforcement mechanisms, and source-level compilers. A certified verifier is an executable program that has a full correctness proof. The particular strategy that I’ve...
متن کاملDependently Typed Programming with Domain-Specific Logics (Thesis Proposal DRAFT)
We propose a thesis defending the following statement: The logical notions of polarity and focusing provide a foundation for dependently typed programming with domain-specific logics, with applications to certified software and mechanized metatheory.
متن کاملMechanized Verification of Computing Dominators for Formalizing Compilers
One prerequisite to the formal verification of modern compilers is to formalize computing dominators, which enable SSA forms, advanced optimizations, and analysis. This paper provides an abstract specification of dominance analysis that is sufficient for formalizing modern compilers; it describes a certified implementation and instance of the specification that is simple to design and reason ab...
متن کاملMechanized semantics - with applications to program proof and compiler verification
The semantics of a programming language describe mathematically the meaning of programs written in this language. An example of use of semantics is to define a programming language with much greater precision than standard language specifications written in English. (See for example the definition of Standard ML [35].) In turn, semantics enable us to formally verify some programs, proving that ...
متن کامل